-
-
Notifications
You must be signed in to change notification settings - Fork 172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement --input-tileset
#1464
Conversation
As discussed in gbdev#575 (comment)
Co-authored-by: Sylvie <[email protected]>
Thinking about how
(We'll also have to consider "what if an input tile is solid #FF00FF and you pass |
Furthermore, regardless of how we handle the above concerns re: not passing
But in fact |
Co-authored-by: Sylvie <[email protected]>
IMO, it's simple: we generate tile data appending it to the input tileset, then run the deduplication pass if requested. This preserves all guarantees, and is a simple yet reasonable model. (Note that there is an explicit check that the deduplication pass does not dedup any of the input tileset's tiles, which would violate the assumption that all input tiles are present as-is in the output.) The answer to all the following is “emitted once” with
We don't, because deduplication is performed on tile data, so colours are already out of the picture by then. (This is why |
We can simply mention that these guarantees are upheld regardless of any dedup flags, or update all four of those flags' descriptions to mention that they only apply to generated tiles but that they are still compared against input tiles. My vote goes for the former. And, yes, the intent is to basically guarantee that |
Great! That sounds simple, consistent, and predictable. And people almost certainly want |
Let's get the rest working first and then come back to how to word that; I may have suggestions in a subsequent review. |
In theory we could reject rgbgfx a.png -o a.2bpp
rgbgfx b.png -o b.2bpp -i a.2bpp is in fact equivalent to rgbgfx a.png -o a.2bpp
rgbgfx b.png -o tmp.2bpp
cat a.2bpp tmp.2bpp >b.2bpp ...so we could reserve that combination for later to be more useful behaviour. What do you think? |
Yes, disallowing |
Turns out `addTile` only returns match kinds depending on `options`...
Co-authored-by: Sylvie <[email protected]>
Fixes #1485
In particular, a lot of the less clear interactions with other flags (e.g. the lack of
-u
, how should deduplication be performed, if at all?) have been made into errors, so that we can give them some useful behaviour later on, without fear of breaking backwards compat.